<template>
	<view class="app-container">
		<view class="timer">
			<view class="title" @click="show= true">
				{{dayjs().format('YYYY-MM') === time ? '本考勤周期' :time}}
				
				<u-icon name="arrow-down-fill" style="margin-left: 6px;" size="16"></u-icon>
			</view>
			<view class="subTitle">
				{{dayjs(time).startOf('month').format('YYYY-MM-DD')}}-{{dayjs(time).endOf('month').format('YYYY-MM-DD')}}
			</view>

		</view>
		<view class="charts-box">
			<qiun-data-charts type="ring" :opts="opts" :chartData="chartData" />
		</view>
		
		<u-collapse
		    
		  >
		    <u-collapse-item
		      title="下班未刷卡Card Unread"
		      name="Docs guide"
		    >
			<text slot="value" class="u-page__item__title__slot-title">2次</text>
		      <text class="u-collapse-content"></text>
		    </u-collapse-item>
		    <u-collapse-item
		      title="上班未刷卡Card Unread"
		      name="Variety components"
		    >
			<text slot="value" class="u-page__item__title__slot-title">3次</text>
		      <text class="u-collapse-content"></text>
		    </u-collapse-item>
		    
		  </u-collapse>

		<u-datetime-picker :show="show" v-model="defaultValue" @cancel="show=false" @confirm="handleTimeChange" mode="year-month"></u-datetime-picker>
	</view>

</template>

<script>
	import dayjs from '@/utils/dayjs.js'
	export default {
		data() {
			return {
				time: dayjs().format('YYYY-MM'),
				defaultValue:dayjs().format('YYYY-MM'),
				chartData: {},
				show: false,
				//您可以通过修改 config-ucharts.js 文件中下标为 ['ring'] 的节点来配置全局默认参数，如都是默认参数，此处可以不传 opts 。实际应用过程中 opts 只需传入与全局默认参数中不一致的【某一个属性】即可实现同类型的图表显示不同的样式，达到页面简洁的需求。
				opts: {
					rotate: false,
					rotateLock: false,
					color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4",
						"#ea7ccc"
					],
					padding: [5, 5, 5, 5],
					dataLabel: true,
					enableScroll: false,
					legend: {
						show: false,
						position: "left",
						float: 'top',
						top: 0,
						lineHeight: 25
					},
					title: {
						name: "总次数",
						fontSize: 15,
						color: "#666666"
					},
					subtitle: {
						name: "5",
						fontSize: 25,
					},
					extra: {
						ring: {
							ringWidth: 20,
							activeOpacity: 0.5,
							activeRadius: 10,
							offsetAngle: 0,
							labelWidth: 15,
							border: false,
							borderWidth: 3,
							borderColor: "#FFFFFF"
						},
					}
				}
			};
		},
		onReady() {
			this.getServerData();
		},
		methods: {
			handleTimeChange(val){
				const {value} = val
				this.time = dayjs(value).format('YYYY-MM');
				this.show = false;
				
			},
			getServerData() {
				//模拟从服务器获取数据时的延时
				setTimeout(() => {
					//模拟服务器返回数据，如果数据格式和标准格式不同，需自行按下面的格式拼接
					let res = {
						series: [{
							data: [{
								"name": "上班未打卡",
								"value": 2,
								"labelText": '上班未打卡:2次'
							}, {
								"name": "下班未打卡",
								"value": 3,
								"labelText": '下班未打卡:2次'
							}]
						}]
					};
					this.chartData = JSON.parse(JSON.stringify(res));
				}, 500);
			},
		}
	};
</script>

<style scoped>
	.app-container {
		padding: 12px 24px;
	}

	.title {
		font-size: 16px;
		display: flex;
		align-items: center;
		
	}

	.subTitle {
		font-size: 14px;
		color: #ccc;
	}

	/* 请根据实际需求修改父元素尺寸，组件自动识别宽高 */
	.charts-box {
		width: 100%;
		height: 200px;
		margin: 16px 0;
	}
</style>